In a real time streaming transport such as IP broadcast, WO2005/027439 A1 (KOKAI) discloses a method for increasing or decreasing the number of streams to play according to a selection or an instruction by a user. In this reference, in order to reduce a delay time since a stream is switched due to a channel selection until a new stream starts to be played, plurality of the streams are received at one time in advance. Then, a stream which is actually played is selected and displayed from among the received streams.
The real time streaming transport of a video or a sound sometimes uses RTP (Real-time Transport Protocol). The RTP is effective to correct a wrong order in a data sequence or to reduce fluctuations of transmission intervals (such processing is called RTP processing). Moreover, a lost data can be detected by the RTP. However, it is difficult to recover the lost data by the RTP. In order to recover the lost data, for example, two methods exist. One method is retransmission of the lost data, and another method is correcting error of the lost data by using an error correction code. The method using retransmission of the lost data is not appropriate to the real time streaming transport, in view of time constraints, the uncertainty of retransmission, and the difficulty in retransmission request. On the other hand, in the method using error correction code, FEC (Forward Error Correction) is popular as an error correction code. In a case of using FEC, a transmitting node divides data to be transmitted (referred to as “original data”) into groups, generates redundant data for each of the groups by performing calculation based on a predetermined method, and transmits the original data and the redundant data in parallel to each other with the redundant data stored in an FEC packet. If at least one original data is lost in each of the groups, a receiving node can recover the lost original data based on the original data which are received correctly and the redundant data. Such processing is called FEC processing. In this case, since the redundant data and the original data are transmitted together almost without any delay, the receiving node can recover the lost data immediately. Thus, the delay due to the method using FEC is smaller than that due to the method using retransmission of the lost data.
However, in a case where the plurality of the streams is received at one time in advance, the FEC processing may be performed for all the plurality of streams. In this case, the FEC processing is wasted for stream which is not selected to play.
To avoid this, a method that the FEC processing is not performed for stream which is not expected to play, is considered. However, if the stream is selected to play, the stream may play with low quality because the stream is not subjected the FEC processing. On the other hand, if the FEC processing is performed after the stream is selected to play, the delay time needed for the FEC processing cannot be reduced.